<!DOCTYPE html>
<html lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>GCC: About</title>
<link rel="stylesheet" type="text/css" href="https://gcc.gnu.org/gcc.css" />
</head>

<body>

<h1>GCC: About</h1>

<p>These pages are maintained by the GCC team and it's easy to
<a href="contribute.html#webchanges">contribute</a>.</p>

<p>The web effort was originally led by Jeff Law.  For the last two
decades or so Gerald Pfeifer has been leading the effort, but there are
many
<a href="https://gcc.gnu.org/onlinedocs/gcc/Contributors.html">contributors
</a>.</p>

<p>The web pages are under <a href="#git">git control</a>.
The pages on gcc.gnu.org are updated directly after a
change has been committed. www.gnu.org is updated once a day at 4:00 -0700
(PDT).</p>

<p>Please send feedback, problem reports and patches to our
<a href="lists.html">mailing lists</a>, ideally putting the
string "[wwwdocs]" at the beginning of the mail subject.
</p>


<p id="TODO">Want to contribute?  Any help concerning the items below
is welcome, as are suggestions.  Suggestions accompanied by patches have
a higher chance of being implemented soon. ;-)</p>

<ul>
  <li>Improve navigation, with a consistent (short) menu on every page.</li>

  <li>Set up a system that automatically checks the mirrors list.

  <p>It should detect mirrors that have gone away, are persistently
  down, or very out of date (the last being easy to do for those
  carrying snapshots, harder for those with releases only).
  DJ Delorie &lt;<a href="mailto:dj@redhat.com">dj@redhat.com</a>&gt;
  has some scripts to do this already.</p></li>
</ul>


<hr />
<h2 id="git">Using the git repository</h2>

<p>Assuming you have both git 
and SSH installed, you can check out the web pages via</p>

<blockquote><pre>
<code>git clone git+ssh://<i>username</i>@gcc.gnu.org/git/gcc-wwwdocs.git</code>
</pre></blockquote>

<p>where <i>username</i> is your user name at gcc.gnu.org.</p>

<p>For anonymous access, use</p>
<blockquote><pre>
<code>git clone git://gcc.gnu.org/git/gcc-wwwdocs.git</code>
</pre></blockquote>


<h3>Validating a change</h3>

<p>To validate any changes, you can use
the <a href="https://validator.w3.org">W3 Validator</a>. Just use the
"Validate by File Upload" functionality.</p>


<h3>Checking in a change</h3>

<p>We recommend you list files explicitly to avoid accidental checkins
and prefer that each checkin be of a complete, single logical change.</p>

<ol>
<li>Sync your sources with the master repository via "<code>git pull</code>".
This will also identify any files in your local
tree that you have modified.</li>

<li>We recommend reviewing the output of "<code>git diff</code>".</li>

<li>Use "<code>git commit</code>" and "<code>git push origin
master</code>" to check in the patch.</li>

<li>Upon checkin a message will be sent to the gcc-cvs-wwwdocs mailing
list.</li>
</ol>

<p>As changes are checked in, the respective pages are preprocessed
via the script <code>wwwdocs/bin/preprocess</code> which in turn
uses a tool called MetaHTML.  Among others, this preprocessing
adds CSS style sheets, XML and HTML headers, and our standard
footer.  The MetaHTML style sheet is in
<code>wwwdocs/htdocs/style.mhtml</code>.</p>


<!--
<h2 id="system">The host system</h2>

<p>The setup of the machine running the gcc.gnu.org site is also
available <a href="https://sourceware.org/viewvc">for browsing</a>
and via anonymous read-only CVS.  Use the same procedure
as above with
<code>:pserver:anoncvs@gcc.gnu.org:/cvs/sourceware</code> for the
repository and <code>infra</code> for the module.</p>
-->


</body>
</html>
